Conventional operating systems often exercise control over data processing systems by adjusting certain parameters. Parameters may refer to system values that can be set either by the operating system or by a user. For example, a parameter may be a maximum working storage size allotted to each process, priority of a process, size of cache memory, size of common area of memory, or any other system value. The operating system may configure certain parameters based on performance data described in metrics. Metrics may refer to measured performance data values, such as an amount of available memory.
It is often desirable to execute performance analysis on certain metrics. Performance analysis may include analyzing certain metrics to determine whether a particular operating system is performing efficiently. Performance analysis may also include configuring certain parameters to increase efficiency. For example, it may be necessary to analyze certain work load characteristics such as the amount of paging, swapping, and available memory to determine if a parameter may be configured to adapt to different work loads.
Performance analysis often is made according to the subjective standards of particular engineers performing the analysis. This approach is often problematic because different engineers may interpret metrics differently. Thus, different engineers presented with the same metrics may have different opinions of, for example, whether there is sufficient available memory.
Further, management of performance data for performance data analysis is a complex task because performance data may originate from clustered networks with multiple servers, numerous software components, and computing devices. For example, even after determining from metrics that there is a critical lack of available memory, the cause of the lack of available memory must be identified before a parameter may be adjusted.